package com.seteam.collabcrossword.messages.server;

import com.seteam.collabcrossword.Clue;
import com.seteam.collabcrossword.Crossword;

import java.io.Serializable;
import java.util.List;

/**
 * When the client requests the server for the board layout before
 * the start of the game, the server will use this message to wrap
 * the board layout, and the clues for words going across and down, and
 * sends it to the requesting client
 */
public class CrosswordAndClues implements Serializable {
    private static final long serialVersionUID = 5529123361572543066L;
    private Crossword crossword;
    private List<Clue> across;
    private List<Clue> down;

    /**
     * Constructor
     */
    public CrosswordAndClues() {
        super();
    }

    /**
     * Getter for crossword
     *
     * @return the crossword
     */
    public Crossword getCrossword() {
        return crossword;
    }

    /**
     * Setter for crossword
     *
     * @param crossword the crossword
     */
    public void setCrossword(final Crossword crossword) {
        this.crossword = crossword;
    }

    /**
     * Getter for clues of words going across
     *
     * @return the list of clues that represent words going across
     */
    public List<Clue> getAcross() {
        return across;
    }

    /**
     * Setter for clues of words going across
     *
     * @param across the list of clues that represent words going across
     */
    public void setAcross(final List<Clue> across) {
        this.across = across;
    }

    /**
     * Getter for clues of words going down
     *
     * @return the list of clues that represent words going down
     */
    public List<Clue> getDown() {
        return down;
    }

    /**
     * Setter for clues of words going down
     *
     * @param down the list of clues that represent words going down
     */
    public void setDown(final List<Clue> down) {
        this.down = down;
    }

}
